package main

import (
	"fmt"
	"io"
	"os"
)

func main() {
	// 读
	fRead, err := os.OpenFile("test.txt", os.O_RDONLY, 6)
	if err != nil {
		fmt.Println(err)
	}
	defer fRead.Close()
	// 写
	fWrite, err := os.Create("test1.txt")
	if err != nil {
		fmt.Println(err)
	}
	defer fWrite.Close()

	// 从读文件获取数据,放到缓冲区
	buf := make([]byte, 1024)
	for {
		n, err := fRead.Read(buf)
		if err != nil && err == io.EOF {
			fmt.Println("读取完毕")
		}
		// 写文件
		if n == 0 {
			break
		}
		// 注意:这里使用了切片,读多少,写多少
		fWrite.Write(buf[:n])
	}
	fmt.Println("复制成功")
}
